home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK2.toast / Development Kits (Disc 2) / ScriptX / Documentation / Code Examples from Docs / langguid / chap_06 / xmpl_04.sx < prev    next >
Encoding:
Text File  |  1996-05-21  |  1.0 KB  |  46 lines  |  [TEXT/ttxt]

  1. --<<<
  2. -- Kaleida Labs, Inc.
  3. -- Field Guide to the ScriptX Language
  4. -- chapter 6, example 4
  5.  
  6. -- inheritance examples
  7.  
  8.  
  9. class Horse () end
  10. class Donkey () end
  11. class Stallion (Horse) end
  12. class Mule (Stallion, Donkey) end
  13. getSupers Mule
  14. class Mule (Donkey, Stallion) end
  15. getSupers Mule
  16.  
  17. -- examples of inheritance
  18. class BouncyArray (Projectile, Array) end
  19. getSupers BouncyArray
  20.  
  21. class WierdInheritance (QueuedEvent,TwoDShape,LinkedList)
  22. end
  23. prin ((getSupers WierdInheritance) as Array) @complete debug
  24.  
  25. class Dog () inst vars name end
  26.  
  27. class BassetHound (Dog)
  28.     instance methods
  29.     method getTemper self -> (
  30.         format debug "%*'s temper is good.\n" (self.name) @unadorned
  31.     )
  32. end
  33.  
  34. class PitBull (Dog)
  35.     instance methods
  36.     method getTemper self -> (
  37.         format debug "%*'s temper can be bad.\n" (self.name) @unadorned
  38.     )
  39. end
  40. -- create objects Frookie and Noodle
  41. object Frookie (PitBull, BassetHound) settings name:"Frookie" end
  42. object Noodle (BassetHound, PitBull) settings name: "Noodle" end
  43. -- test the getTemper method on both dogs 
  44. getTemper Frookie
  45. getTemper Noodle
  46. -->>>